package cn.itcast.nems.studentrecord.service.settlement;

import java.time.LocalDate;

/**
 * 计算结算数据
 *
 * @author yong.li
 * @since 2023-11-15 16:03:54
 * */
@FunctionalInterface
public interface SettlementCalculator {

    /**
     * 待定班(3000、9000)开始日期
     */
    LocalDate WAIT_START_DATE = LocalDate.of(2999, 12, 31);

    /**
     * 计算结算值
     *
     * @return 结算结果
     */
    SettlementResult calculate(SettlementData settlementData);
    
    /**
     * 是否为升级结算
     *
     * @return 是否升级
     */
    default boolean isRenewal() {
        return false;
    }
}
